﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.IO;

public class AssetsParts
{
    struct KeyValues
    {
        public string key;
        public string[] values;
    }
    List<KeyValues> Values;
    public void LoadFromFile(string path)
    {
        if (Values == null)
            Values = new List<KeyValues>();
        else Values.Clear();
        string str = File.ReadAllText(path);
        string[] ss = str.Split('\n');
        for (int i = 0; i < ss.Length; i++)
        {
            string[] kvs= ss[i].Split('=');
            if(kvs.Length>1)
            {
                KeyValues kv = new KeyValues();
                kv.key = kvs[0];
                kv.values = kvs[1].Split(',');
                Values.Add(kv);
            }
        }
    }
    public int AllPart
    {
        get
        {
            if (Values == null)
                return 0;
            for(int i=0;i<Values.Count;i++)
            {
                if(Values[i].key=="parts")
                {
                    if (Values[i].values != null)
                        return Values[i].values.Length;
                    return 0;
                }
            }
            return 0;
        } 
    }
    public string[] GetPartValues(int index)
    {
        if (Values == null)
            return null;
        for (int i = 0; i < Values.Count; i++)
        {
            if (Values[i].key == "parts")
            {
                if (Values[i].values != null)
                {
                    if (index >= Values[i].values.Length)
                        return null;
                    string key = Values[i].values[index];
                    for (int k = 0; k < Values.Count; k++)
                    {
                        if (Values[k].key == key)
                        {
                            return Values[k].values;
                        }
                    }
                    return null; 
                }
                return null;
            }
        }
        return null;
    }
}
